package com.dev.base.able;
/**
 * detail: 基类通用方法
 * @author Ttt
 */
public interface IDevBaseMethod {

    /**
     * 初始化顺序 ( 需主动调用 )
     */
    public default void initOrder() {
        initView();
        initValue();
        initListener();
        initObserve();
        initOther();
    }

    /**
     * 预加载方法 ( 需主动调用, 预留可选 )
     * 例:
     * Activity : [preLoad] ( onCreate ) => [initOrder] ( onCreate )
     * Fragment : [preLoad] ( onCreateView ) => [initOrder] ( onViewCreated )
     */
    public void preLoad();

    // =============
    // = 初始化方法 =
    // =============

    /**
     * 初始化 View
     */
    public void initView();

    /**
     * 初始化参数、配置
     */
    public void  initValue();

    /**
     * 初始化事件
     */
    public void  initListener();

    /**
     * 初始化观察事件
     */
    public void  initObserve();

    /**
     * 初始化其他操作
     */
    public void  initOther();
}
